package com.wechat.util;

import java.util.Arrays;

public class SignUtil {

	 //微信自动回复
	/**
	 * 验证签名
	 *@param token 微信服务器token，在env.properties文件中配置的和在开发者中心配置的必须一致 
    *@param signature 微信服务器传过来sha1加密的证书签名
    *@param timestamp 时间戳
    *@param nonce 随机数 
    *@return 
	 */
	public static boolean checkSignateure(String token,String signature, String timestamp, String nonce){
		
		
		String[] arr = new String[]{token,timestamp,nonce};
		
		//将三个参数字典序排序
		Arrays.sort(arr);
		
		//将三个参数拼接成一个字符串进行sha1加密
		String tmpStr = SHA1.encode(arr[0]+arr[1]+arr[2]);	
		
		//将sha1加密后的字符串可与signature对比，标识该请求来源于微信 
		return tmpStr!=null?tmpStr.equals(signature.toUpperCase()):false;
		
	}

	
}
